package com.Spring.liaojp.controller;

import com.Spring.liaojp.common.PrintInAndOut;
import com.Spring.liaojp.entity.User;

import java.util.List;

/**
 * @author liaojiapeng
 * &#064;date  2020/5/26 - 16:09
 * &#064;description:  用户控制器
 */
public class UserController {
    // todo: service层暂时略过，直接操作dao层
    // todo: 用户输入输出应该放到视图层，也暂时不处理

    private final List<User> users;

    // 构造器注入
    public UserController(List<User> users) {
        this.users = users;
    }

    public int login() {
        String name;
        String password;

        PrintInAndOut.printlnGreen("-----用户登录-----");
        while (true) {
            PrintInAndOut.printYellow("请输入用户名（输入exit退出系统）");

            // 获取用户输入
            name = PrintInAndOut.readString();
            if (name.equalsIgnoreCase("exit")){
                PrintInAndOut.printRed("退出系统");
                return 1;
            }

            PrintInAndOut.printYellow("请输入密码：");
            password = PrintInAndOut.readString();

            for (User user : users) {
                if (user.getName().equals(name) && user.getPassword().equals(password)) {
                    PrintInAndOut.printlnGreen("登录成功");
                    System.out.println("--------------------");
                    showUserInfo(user);
                    return 0;
                }
            }
            PrintInAndOut.printlnRed("登录失败");
        }
    }

    /**
     * 展示用户信息
     * @param user 用户
     */
    private void showUserInfo(User user){
        PrintInAndOut.printlnGreen("-----用户信息-----");
        PrintInAndOut.printlnGreen("用户名：" + user.getName());
    }
}
